home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 1 / Cream of the Crop 1.iso / PROGRAM / SCLIB.ARJ / SCL1XMS.H < prev    next >
Text File  |  1992-01-01  |  2KB  |  67 lines

  1. typedef struct{
  2.     unsigned long bytes;
  3.     unsigned int shandle;
  4.     void far *source;
  5.     unsigned int dhandle;
  6.     void far *destination;
  7.     }XMSMove;
  8.  
  9. #define XMS_MAJOR_VER(i) (((i) & 0xff00) >> 8)
  10. #define XMS_MINOR_VER(i) (i & 0xff)
  11.  
  12. int XMS_Init(void);
  13. int XMS_GetVersion(unsigned int *version);
  14. int XMS_RequestHMA(void);
  15. int XMS_ReleaseHMA(void);
  16. int XMS_GlobalEnableA20(void);
  17. int XMS_GlobalDisableA20(void);
  18. int XMS_LocalEnableA20(void);
  19. int XMS_LocalDisableA20(void);
  20. int XMS_QueryA20(int *A20status);
  21. int XMS_QueryFreeExtended(unsigned int *FreeKB,unsigned int *TotalKB);
  22. int XMS_AllocExtended(int *handle,unsigned int kbytes);
  23. int XMS_FreeExtended(int handle);
  24. int XMS_MoveExtended(XMSMove *);
  25. int XMS_LockExtended(int handle,void far **bpt);
  26. int XMS_UnlockExtended(int handle);
  27. int XMS_GetEMBHandleInfo(int handle,int *LockCount,int *FreeHandles,int *BlockSize);
  28. int XMS_ReallocExtended(int handle,unsigned int newsize);
  29. int XMS_RequestUMB(unsigned int para,void far **UMBpt,unsigned int *ActualSize);
  30. int XMS_ReleaseUMB(void far *UMBpt);
  31.  
  32. #define XMS_HMA (void far *) 0xffff0010
  33.  
  34. #define XMS_A20_NOT_ENABLED            0
  35. #define XMS_A20_ENABLED                1
  36.  
  37. #define XMS_NOT_AVAILABLE              0
  38. #define XMS_NOT_INITIALIZED            0
  39. #define XMS_OK                         1
  40. #define XMS_NOT_IMPLEMENTED         0x80
  41. #define XMS_VDISK_PRESENT           0x81
  42. #define XMS_A20_ERROR               0x82
  43. #define XMS_GENERAL_DRIVER_ERROR    0x8e
  44. #define XMS_UNRECOVERABLE_ERROR     0x8f
  45. #define XMS_HMA_NOT_EXIST           0x90
  46. #define XMS_HMA_IN_USE              0x91
  47. #define XMS_HMA_NOT_ALLOCATED       0x93
  48. #define XMS_A20_ALREADY_ENABLED     0x94
  49. #define XMS_ALL_EXTENDED_ALLOCATED  0xa0
  50. #define XMS_NO_MORE_HANDLES         0xa1
  51. #define XMS_INVALID_HANDLE          0xa2
  52. #define XMS_INVALID_SOURCE_HANDLE   0xa3
  53. #define XMS_INVALID_SOURCE_OFFSET   0xa4
  54. #define XMS_INVALID_DEST_HANDLE     0xa5
  55. #define XMS_INVALID_DEST_OFFSET     0xa6
  56. #define XMS_INVALID_LENGTH          0xa7
  57. #define XMS_INVALID_OVERLAP         0xa8
  58. #define XMS_PARITY_ERROR            0xa9
  59. #define XMS_BLOCK_NOT_LOCKED        0xaa
  60. #define XMS_BLOCK_LOCKED            0xab
  61. #define XMS_LOCK_COUNT_OVERFLOW     0xac
  62. #define XMS_LOCK_FAIL               0xad
  63. #define XMS_UMB_SMALL_AVAILABLE     0xb0
  64. #define XMS_UMB_NOT_AVAILABLE       0xb1
  65. #define XMS_UMB_INVALID_SEGMENT     0xb2
  66.  
  67.